#ifndef SMOOTH_H_INCLUDED
#define SMOOTH_H_INCLUDED

#ifdef __cplusplus
extern "C" {
#endif

/**
 *  \brief 3点线性平滑算法
 *  
 *  \param [in] in  输入数据，共有 N 个点
 *  \param [in] out 输出数据，共有 N 个点
 *  \return 
 *  \details 临近两个点加上本身这个点，取平均。
 */
void linearSmooth3 ( double in[], double out[], int N );
void linearSmooth5 ( double in[], double out[], int N );
void linearSmooth7 ( double in[], double out[], int N );
void quadraticSmooth5 ( double in[], double out[], int N );
void quadraticSmooth7 ( double in[], double out[], int N );
void cubicSmooth5 ( double in[], double out[], int N );
void cubicSmooth7 ( double in[], double out[], int N );
void smooth3 ( double buf[], int n );
void smooth5 ( double buf[], int n );

#ifdef __cplusplus
}
#endif

#endif // SMOOTH_H_INCLUDED
